#include <iostream>
#include <vector>
#include <algorithm>
#include <string>  // 添加string头文件

using namespace std;

struct Item {
    int id;
    int value;
    int weight;
    double value_density; // 价值密度 = 价值 / 重量
};

// 比较函数：按价值密度降序排序
bool compareByValueDensity(const Item &a, const Item &b) {
    return a.value_density > b.value_density;
}

int main(int argc, char* argv[]) {
    // 检查是否提供了文件路径参数
    if (argc < 2) {
        cerr << "Usage: " << argv[0] << " <filepath>" << endl;
        return 1;
    }
    
    string filepath = argv[1];  // 获取文件路径参数

    int n, id, value, weight, capacity;
    cin >> n;

    vector<Item> items(n);
    for (int i = 0; i < n; ++i) {
        cin >> id >> value >> weight;
        items[i] = {id, value, weight, static_cast<double>(value) / weight};
    }

    cin >> capacity;

    // 按价值密度降序排序
    sort(items.begin(), items.end(), compareByValueDensity);

    int total_value = -1; // 初始化为 -1，表示无解
    int remaining_capacity = capacity;

    // 贪心选择：尽可能选价值密度高的物品
    for (const auto &item : items) {
        if (remaining_capacity >= item.weight) {
            if (total_value == -1) {
                total_value = 0; // 第一次装入物品时，初始化 total_value 为 0
            }
            total_value += item.value;
            remaining_capacity -= item.weight;
        }
    }

    // 输出结果：filepath,total_value
    cout << filepath << "," << total_value << endl;

    return 0;
}